package com.itheima.zuoYe;

import cn.hutool.Hutool;

import java.io.File;

import java.io.*;

public class JavaFileCopier {
    public static void main(String[] args) {
        // 源目录和目标目录
        File sourceDir = new File("day10-zixi\\src\\com\\itheima\\ziXiTuoZhan");
        File targetDir = new File("D:\\backup");

        // 如果目标目录不存在，则创建
        if (!targetDir.exists()) {
            targetDir.mkdirs();
        }

        // 遍历源目录下的所有文件
        File[] files = sourceDir.listFiles();
        if (files != null) {
            for (File file : files) {
                if (file.isFile() && file.getName().endsWith(".java")) {
                    // 构建目标文件路径
                    File targetFile = new File(targetDir, file.getName());

                    // 复制文件
                    copyFile(file, targetFile);

                    // 修改文件后缀名
                    File renamedFile = new File(targetFile.getAbsolutePath().replace(".java", ".txt"));
                    if (targetFile.renameTo(renamedFile)) {
                        System.out.println("文件重命名为: " + renamedFile.getName());
                    } else {
                        System.out.println("文件重命名失败: " + targetFile.getName());
                    }
                }
            }
        }
    }

    // 文件拷贝方法
    private static void copyFile(File source, File dest) {
        try (InputStream in = new FileInputStream(source);
             OutputStream out = new FileOutputStream(dest)) {

            byte[] buffer = new byte[1024];
            int length;
            while ((length = in.read(buffer)) > 0) {
                out.write(buffer, 0, length);
            }
            System.out.println("文件拷贝成功: " + source.getName());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

